package fr.uniscol.siecle.converters;

import fr.uniscol.model.DonneeUniscol;
import fr.uniscol.model.geo.Departement;
import fr.uniscol.siecle.model.Commune;
import fr.uniscol.siecle.model.DonneeSiecle;

public class CommuneSiecleConverter implements IDonneeSiecleConverter {

	public DonneeUniscol convertDonneeSiecle(DonneeSiecle donneeSiecle) {
		
		if(donneeSiecle == null || !(donneeSiecle instanceof Commune)){
			return null;
		}
		
		Commune com = (Commune) donneeSiecle;
		fr.uniscol.model.geo.Commune ret = new fr.uniscol.model.geo.Commune();
		ret.setCodeInsee(com.getCode());
		ret.setLibelleLong(com.getLibelle());
		
		if(com.getDepartement() != null){
			ret.setDepartement(new Departement());
			ret.getDepartement().setCodeInsee(com.getDepartement().getCode());
		}
		
		return ret;
	}

	public DonneeSiecle convertDonneeUniscol(DonneeUniscol donneeUniscol) {
		
		if(donneeUniscol == null || !(donneeUniscol instanceof fr.uniscol.model.geo.Commune)){
			return null;
		}
		
		fr.uniscol.model.geo.Commune com = (fr.uniscol.model.geo.Commune) donneeUniscol;
		Commune ret = new Commune(com.getCodeInsee(), com.getLibelleLong());
		
		return ret;
	}
}
